home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / amigae.jan.archive / 000041_crash!QUCDN.QU…UEENSU.CA!3NDS3_Tue, 18 Jan 94 01:38:57 PST.msg < prev    next >
Text File  |  1994-02-17  |  10KB  |  281 lines

  1. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  2.       id <1lxt@bkhouse.cts.com>; Tue, 18 Jan 94 01:38:57 PST
  3. Received: from QUCDN.QueensU.CA by crash.cts.com with smtp
  4.     (Smail3.1.28.1 #18) id m0pM7OW-0001K7C; Mon, 17 Jan 94 19:46 PST
  5. Received: from QUCDN.QUEENSU.CA by QUCDN.QueensU.CA (IBM VM SMTP V2R2)
  6.    with BSMTP id 9999; Mon, 17 Jan 94 22:44:59 EST
  7. Received: from QUCDN.QueensU.CA (NJE origin 3NDS3@QUCDN) by QUCDN.QUEENSU.CA (LMail V1.1d/1.7f) with BSMTP id 7200; Mon, 17 Jan 1994 22:44:59 -0500
  8. Message-Id: <m0pM7OW-0001K7C@crash.cts.com>
  9. Date:         Mon, 17 Jan 94 22:41:32 EST
  10. From: 3NDS3 <3NDS3@QUCDN.QueensU.CA>
  11. To: amigae@bkhouse.cts.com
  12. Subject: Reqtools interfacing
  13.  
  14. I forget who was asking about the reqtools.library interfacing. Here's
  15. some code I slapped together using the examples, the reqtools docs, and
  16. what I remembered from C. :) So, I don't claim this to be perfect coding.
  17. But it does work fine on my 7.14 MHz A500 under 2.1. :)
  18.  
  19.  
  20. /* E Source generated by SRCGEN v0.1 */
  21.  
  22. OPT OSVERSION=37
  23.  
  24. MODULE 'exec/ports','gadtools','libraries/gadtools','intuition/intuition','reqtools','libraries/reqtools',
  25.        'intuition/screens', 'intuition/gadgetclass', 'graphics/text',
  26.        'utility/tagitem'
  27.  
  28. ENUM NONE,NOCONTEXT,NOGADGET,NOWB,NOVISUAL,OPENGT,NOREQ,NOWINDOW,NOMENUS,OPENREQ
  29. ENUM BANGBUTTON,QUITBUTTON
  30.  
  31. DEF     crashtestwnd:PTR TO window,
  32.         crashtestglist,
  33.         scr:PTR TO screen,
  34.         visual=NIL,
  35.         offx,offy,tattr
  36.  
  37. PROC setupscreen()
  38.   IF (gadtoolsbase:=OpenLibrary('gadtools.library',37))=NIL THEN RETURN OPENGT
  39.   IF (reqtoolsbase:=OpenLibrary('reqtools.library',37))=NIL THEN RETURN NOREQ
  40.   IF (scr:=LockPubScreen('Workbench'))=NIL THEN RETURN NOWB
  41.   IF (visual:=GetVisualInfoA(scr,NIL))=NIL THEN RETURN NOVISUAL
  42.   offy:=scr.wbortop+Int(scr.rastport+58)-10
  43.   tattr:=['topaz.font',8,0,0]:textattr
  44. ENDPROC
  45.  
  46. PROC kleenX()
  47.  
  48.   IF crashtestwnd THEN CloseWindow(crashtestwnd)
  49.   IF crashtestglist THEN FreeGadgets(crashtestglist)
  50.  
  51.   IF visual THEN FreeVisualInfo(visual)
  52.   IF scr THEN UnlockPubScreen(NIL,scr)
  53.   IF gadtoolsbase THEN CloseLibrary(gadtoolsbase)
  54.   IF reqtoolsbase THEN CloseLibrary(reqtoolsbase)
  55.  
  56. ENDPROC
  57.  
  58. PROC opencrashtestwindow()
  59.   DEF g:PTR TO gadget
  60.   IF (g:=CreateContext({crashtestglist}))=NIL THEN RETURN NOCONTEXT
  61.   IF (g:=CreateGadgetA(BUTTON_KIND,g,
  62.     [offx+227,offy+93,60,19,'_Bang!',tattr,0,16,visual,0]:newgadget,
  63.     [GT_UNDERSCORE,"_",
  64.      NIL]))=NIL THEN RETURN NOGADGET
  65.   IF (g:=CreateGadgetA(BUTTON_KIND,g,
  66.     [offx+350,offy+93,60,19,'_Quit',tattr,1,16,visual,0]:newgadget,
  67.     [GT_UNDERSCORE,"_",
  68.      NIL]))=NIL THEN RETURN NOGADGET
  69.   IF (crashtestwnd:=OpenWindowTagList(NIL,
  70.     [WA_LEFT,10,
  71.      WA_TOP,15,
  72.      WA_WIDTH,offx+619,
  73.      WA_HEIGHT,offy+179,
  74.      WA_IDCMP,$24C077E,
  75.      WA_FLAGS,$100F,
  76.      WA_TITLE,'Watch this go Boom?',
  77.      WA_CUSTOMSCREEN,scr,
  78.      WA_MINWIDTH,100,
  79.      WA_MINHEIGHT,150,
  80.      WA_MAXWIDTH,$280,
  81.      WA_MAXHEIGHT,200,
  82.      WA_AUTOADJUST,1,
  83.      WA_AUTOADJUST,1,
  84.      WA_GADGETS,crashtestglist,
  85.      NIL]))=NIL THEN RETURN NOWINDOW
  86.   PrintIText(crashtestwnd.rport,
  87.     [1,0,0,197,74,tattr,'Crash and Burn, Crash and Burn...',NIL]:intuitext,offx,offy)
  88.   DrawBevelBoxA(crashtestwnd.rport,177+offx,70+offy,302,55,
  89.     [GT_VISUALINFO,visual,NIL])
  90.   Gt_RefreshWindow(crashtestwnd,NIL)
  91. ENDPROC
  92.  
  93.  
  94. PROC openfilereq(pathname) HANDLE
  95.  
  96. DEF req:PTR TO rtfilerequester, reqres:PTR TO rtfilelist,buf[240]:STRING
  97.  
  98. /* Use req.library? (My preference) */
  99.  
  100.     IF req:=RtAllocRequestA(RT_FILEREQ,0)
  101.         buf[0]:=0
  102.         reqres:=RtFileRequestA(req,buf,pathname,[RTFI_FLAGS,FREQF_MULTISELECT OR FREQF_SELECTDIRS OR FREQF_SAVE,TAG_DONE])
  103.         IF reqres<>NIL
  104.             StrCopy(buf,req.dir,ALL)
  105.             StrAdd(buf,reqres.name,ALL)
  106.             WHILE reqres.next<>NIL
  107.                 reqres:=reqres.next
  108.                 StrAdd(buf,' ',ALL)
  109.                 StrAdd(buf,reqres.name,ALL)
  110.                 WriteF('buf was \s\n',buf)
  111.             ENDWHILE
  112.         ELSE
  113.             WriteF('File unchanged!\n')
  114.             WriteF('buf was \s\n',buf)
  115.         ENDIF
  116.         RtFreeRequest(req)
  117.         RtFreeFileList(reqres)
  118.  
  119.     ELSE
  120.         Raise(OPENREQ)
  121.     ENDIF
  122.  
  123.  
  124. WriteF('buf at end of routine was \s\n',buf)
  125.  
  126. EXCEPT
  127.  
  128.     SELECT exception
  129.  
  130.         CASE OPENREQ
  131.             WriteF('Couldn''t open a requester on the window!\n')
  132.             kleenX()
  133.  
  134.     ENDSELECT
  135.  
  136. ENDPROC buf
  137.  
  138. PROC wait4message(win:PTR TO window)
  139.  
  140. /* Window port variables */
  141. DEF mainmask
  142. DEF port:PTR TO mp
  143.  
  144. /* IDCMP window variables */
  145. DEF class,code,address
  146. DEF message:PTR TO intuimessage
  147. DEF clicked:PTR TO gadget,gadgetid
  148. DEF boolend=FALSE
  149.  
  150. /* String variables */
  151. DEF temp, bangpath[120]:STRING
  152.  
  153. port:=win.userport
  154. mainmask:=Shl(1,port.sigbit)
  155.  
  156.   /* quit? */
  157. WHILE boolend=FALSE
  158.  
  159.     /* wait for wanted signals */
  160.  
  161.     Wait(mainmask)
  162.     /* check for signals, and act if set */
  163.  
  164.     WHILE message:=Gt_GetIMsg(win.userport)
  165.  
  166.     /* copy message */
  167.  
  168.         class:=message.class
  169.         code:=message.code
  170.         address:=message.iaddress
  171.  
  172.     /* reply message */
  173.         Gt_ReplyIMsg(message)
  174.  
  175.     /* what happened? */
  176.         SELECT class
  177.  
  178.     /* gadget released? */
  179.          CASE IDCMP_GADGETUP
  180.             clicked:=address
  181.             gadgetid:=clicked.gadgetid
  182.  
  183.             SELECT gadgetid
  184.  
  185.                 CASE BANGBUTTON
  186.                     WriteF('Bang button selected\n')
  187.                     temp:=openfilereq('Select inbound path')
  188.                     StrCopy(bangpath,temp,ALL)
  189.                     WriteF('Bang string was \s\n',bangpath)
  190.  
  191.                 CASE QUITBUTTON
  192.                     WriteF('Quit button selected\n')
  193.                     WriteF('Time to quit? I agree!\n')
  194.                     boolend:=TRUE
  195.  
  196.             ENDSELECT
  197.          CASE IDCMP_CLOSEWINDOW
  198.             WriteF('Time to quit? I agree!\n')
  199.             boolend:=TRUE
  200.          ENDSELECT
  201.    ENDWHILE
  202. ENDWHILE
  203.  
  204. ENDPROC
  205.  
  206. PROC reporterr(er)
  207.   DEF erlist:PTR TO LONG
  208.   IF er
  209.     erlist:=['get context','create gadget','lock wb','get visual infos',
  210.       'open "gadtools.library" v37+','open "reqtools.library" v37+','open window','create menus',
  211.       'open requester']
  212.     EasyRequestArgs(0,[20,0,0,'Could not \s!','ok'],0,[erlist[er-1]])
  213.   ENDIF
  214. ENDPROC er
  215.  
  216. PROC main()
  217.   IF reporterr(setupscreen())=0
  218.     reporterr(opencrashtestwindow())
  219.     wait4message(crashtestwnd)
  220.   ENDIF
  221.     kleenX()
  222.  
  223. ENDPROC
  224.  
  225. -------------------------------------------------------------------
  226.  
  227. Parts of it need recoding, I know. But it does show how to get a file requestor
  228. up and running with E and reqtools. There's probably a more 'correct' way to
  229. get the directory name, but I couldn't figure it out so I used my code
  230. instead.
  231.  
  232.                    Dave
  233.  
  234. *****************************************************************************
  235. *   3NDS3@qucdn.queensu.ca             "Know thyself? If I knew myself,     *
  236. *   FIDO: David Slonosky 1:249/130      I'd run away!" -- Goethe            *
  237. *   David Slonosky irl                                                      *
  238. *****************************************************************************
  239. From crash!QUCDN.QUEENSU.CA!QUCDN.QUEENSU.CA!3NDS3 Tue, 18 Jan 94 01:39:06 PST
  240. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  241.       id <1lxy@bkhouse.cts.com>; Tue, 18 Jan 94 01:39:06 PST
  242. Received: from QUCDN.QueensU.CA by crash.cts.com with smtp
  243.     (Smail3.1.28.1 #18) id m0pM7QW-0000MxC; Mon, 17 Jan 94 19:48 PST
  244. Received: from QUCDN.QUEENSU.CA by QUCDN.QueensU.CA (IBM VM SMTP V2R2)
  245.    with BSMTP id 0007; Mon, 17 Jan 94 22:47:02 EST
  246. Received: from QUCDN.QueensU.CA (NJE origin 3NDS3@QUCDN) by QUCDN.QUEENSU.CA (LMail V1.1d/1.7f) with BSMTP id 7221; Mon, 17 Jan 1994 22:47:02 -0500
  247. Message-Id: <m0pM7QW-0000MxC@crash.cts.com>
  248. Date:         Mon, 17 Jan 94 22:45:25 EST
  249. From: 3NDS3 <3NDS3@QUCDN.QueensU.CA>
  250. To: amigae@bkhouse.cts.com
  251. Subject: Public screens and gadget depth
  252.  
  253. I've been using SrcGen and GadToolsBox to create the intuition interface
  254. for this program I'm writing. Works fine, except when I open it up on
  255. a public screen of my own the gadgets look 'flat' and washed out. Kinda
  256. like old 1.3 gadgets. :-) How do I get everything to look as nicely 3D as
  257. it does when the window opens on the Workbench screen?
  258.  
  259.             Dave
  260.  
  261. *****************************************************************************
  262. *   3NDS3@qucdn.queensu.ca             "Know thyself? If I knew myself,     *
  263. *   FIDO: David Slonosky 1:249/130      I'd run away!" -- Goethe            *
  264. *   David Slonosky irl                                                      *
  265. *****************************************************************************
  266. From crash!herald.usask.ca!wessong Tue, 18 Jan 94 01:39:26 PST
  267. Received: by bkhouse.cts.com (V1.17-beta/Amiga)
  268.       id <1lyd@bkhouse.cts.com>; Tue, 18 Jan 94 01:39:26 PST
  269. Received: from herald.usask.ca by crash.cts.com with smtp
  270.     (Smail3.1.28.1 #18) id m0pM7y0-0000NOC; Mon, 17 Jan 94 20:23 PST
  271. Received: by herald.usask.ca (5.65/DEC-Ultrix/4.3)
  272.     id AA13471; Mon, 17 Jan 1994 22:22:55 -0600 for AmigaE@bkhouse.cts.com
  273. Date: Mon, 17 Jan 1994 22:22:54 -0600 (CST)
  274. Message-Id: <Pine.3.88.9401172206.A13359-0100000@herald.usask.ca>
  275. Mime-Version: 1.0
  276. Content-Type: TEXT/PLAIN; charset=US-ASCII
  277. From: Graeme Wesson <wessong@herald.usask.ca>
  278. To: AmigaE@bkhouse.cts.com
  279. Subject: unsubscribe
  280.  
  281. please remove my name from the Amiga E mailing list